
/**********************************
 * class Docs
 */
(function(){

    // Docs类构造函数
    var Docs = window.Docs = function()
    {
        // 注册(观察者)
        App.fn.attach(this);

        // 读取配置
        this.view = DocsConf.view;
        this.ops =  DocsConf.ops;

        // NameValueCollection对象
        this.query = null;
    }

    // Fn
    Docs.fn = Docs.prototype = 
    {
        // 功能模块对象
        category : new Category( DocsConf ),
        article : new Article( DocsConf ),
        // cmt : new Articles( DocsConf ),
        
        // 此方法由所观察的主题调用
        // 参数是一个 NameValueCollection对象
        listening : function( query )
        {
            this.query = query;
            if( this.view != this.query["view"] ){  return false;    }
            
            Docs.ui.init();

            this.GetCategoriesList();
            this.GetArticlesList();
            this.GetCommentsList();
        },

        GetCategoriesList : function()
        {
            if( !this.isHandle(this.ops.cat.list) ){  return;  }
            
            Docs.ui.frame.append( Docs.ui.createBreadcrumb() )
            Docs.ui.frameT.append( Docs.ui.createToolbarItems(['add','move','remove']) );
            this.category.get_list_request( this.query );
            
            // 绑定工具栏按钮
            var t = this;
            $(".btn_add").click(function(){ 
                t.category.add_request();
                return false;
            });
            $(".btn_move").click(function(){ 
                  t.category.move_request();
                  return false;
            });
            $(".btn_remove").click(function(){ 
                  t.category.remove_ui();
                  return false;
            });
        },


        GetArticlesList : function()
        {
            if( !this.isHandle(this.ops.art.list) ){  return;  }
            alert( "2" );
        },


        GetCommentsList : function()
        {
            if( !this.isHandle(this.ops.cmt.list) ){  return;  }
            alert( "3" );
        },


        /////////////////////////////////////////////////////////
        ///Private Method////////////////////////////////////////
        /////////////////////////////////////////////////////////

        isHandle : function( handler )
        {
            if( handler != this.query["op"] ){
                return false;
            }else{
                return true
            }
        }
    };

    // Ui
    Docs.ui = 
    {
        // 框架属性
        frame : App.ui.createContentFrame().addClass( 'docs' ),
        breadcrumb: null,
        frameT: null,
        frameB: null,
        frameL: null,
        frameR: null,
        
        createBreadcrumb : function()
        {
            return $('<div class="breadcrumb"></div>');
        },
        createToolbarT: function()
        {
            return $('<div class="toolbar"></div>');
        },
        createToolbarB: function()
        {
            return $('<div class="toolbar"></div>');
        },
        createContentL: function()
        {
            return $('<div class="content-a"></div>');
        },
        createContentR: function()
        {
            return $('<div class="content-b"></div>');
        },
        createToolbarItems : function( ss )
        {
          	var items = new Array();
          	items["add"] = '<a href="#" class="btn_add">添加</a>';
          	items["check"] = '<a href="#" class="btn_check">全选</a>';
          	items["details"] = '<a href="#" class="btn_details">详细</a>';
          	items["modify"] = '<a href="#" class="btn_modify">修改</a>';
          	items["move"] = '<a href="#" class="btn_move">移动</a>';
          	items["moveToAuthor"] = '<a href="#" class="btn_move_to_author">移到作者</a>';
          	items["remove"] = '<a href="#" class="btn_remove">删除</a>';
          	
          	var curItems = new Array();
          	for( var i=0,len=ss.length;i<len;i++ ){
          			curItems.push( items[ss[i]] );
          	}
          	return $( curItems.join( " - " ) );
        },
        
        // 初始化框架属性
        init : function()
        {
            this.breadcrumb = this.createBreadcrumb();
            this.frameT = this.createToolbarT();
            this.frameL = this.createContentL();
            this.frameR = this.createContentR();
            this.frameB = this.frameT.clone(true);
        
            this.frame.empty()                 //主显示区域
                      .append(this.breadcrumb) //面包屑导航
                      .append(this.frameT)   //顶工具条显示区域
                      .append(this.frameL)   //左内容显示区域
                      .append(this.frameR)   //右内容显示区域
                      .append(this.frameB)   //底工具条显示区域
        
            return this;
        }    
    };

})();